#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[])
{
FILE *fin;
char s[120];
char *p;
float total[32],sum=0;
int day=0,i,len;
	if(argv[1]==NULL) 
	{printf("Version 0.2\nUsage:\tformat parameter of totalizing month: '2008-01'.\n\tformat parameter of totalizing year: '2008'\n");return 2;}

	len=strlen(argv[1]);
	for(i=0;i<32;i++) total[i]=0;
	fin=fopen("record", "r");
	if(fin==NULL) return 1;
	while(fgets(s, 100, fin)!=NULL){
		if(strchr(s,'=')){	//以====为行首的日期行
			if(strstr(s,argv[1])){
				p=strrchr(s,'-');	//月统计，行尾查找日期
				if(len<6){
					*p=0;
					p=strrchr(s,'-');	//年统计，行尾查找月份
					}
				p++;
				day=atoi(p);
			} else day=0;
		} else{		//数据行
			if(day==0) continue;
			p=strchr(s,',');
			p++;	//取出第一个逗号后面的全部数据
			total[day]+=strtof(p,NULL);	//数据后的注释，不影响统计
		}
	}
	for (i=1;i<(len>4?32:13);i++){
		sum+=total[i];
		if(total[i]) printf("[%02d] %.2f\t",i,total[i]);
		if(i%5==0) printf("\n");
		}
	if(len>4)
	printf("\n====== total of month: %.2f\n",sum);
	else
	printf("\n====== total of year: %.2f\n",sum);
	fclose(fin);
}
